BITS 32
%include "macrosmodoprotegido.mac"

%define fondoNegro 0x00
%define fondoVerde 0x20
%define fondoRojo 0x40
%define fondoAzul 0x10
%define fondoFucsia 0x50
%define fondoCeleste 0x30
%define fondo 0x78

global pintar

;defines de los nombres de registros
mensajeBlancoError:  db '                               '
msg_num_cero: db "0"
msg_num_uno: db "1"
msg_num_dos: db "2"
msg_num_tres: db "3"
msg_num_cuatro: db "4"
msg_num_cinco: db "5"
msg_num_seis: db "6"
msg_num_siete: db "7"
msg_num_ocho: db "8"
msg_num_nueve: db "9"
mensajeBlancoTarea:  db '                        '
espacioBlanco: db " "

pintar:
	mov edx, mensajeBlancoError
	IMPRIMIR_TEXTO edx, 31, fondoVerde, 2, 43	;Pintamos fondo verde para el problema de la tarea
	
	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 3, 43	;Pintamos fondo negro para el los registros del problema de la tarea
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 4, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 5, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 6, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 7, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 8, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 9, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 10, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 11, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 12, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 13, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 14, 43	
	IMPRIMIR_TEXTO edx, 31, fondoNegro, 15, 43	
	
	;imprimimos los numeros de las tareas	
	IMPRIMIR_TEXTO msg_num_uno, 1, fondoVerde, 19, 1	
	IMPRIMIR_TEXTO msg_num_dos, 1, fondoRojo, 20, 1
	IMPRIMIR_TEXTO msg_num_tres, 1, fondoCeleste, 21, 1
	IMPRIMIR_TEXTO msg_num_cuatro, 1, fondoAzul, 22, 1
	IMPRIMIR_TEXTO msg_num_cinco, 1, fondoFucsia, 23, 1
	
	;imprimimos el espacio del reloj para cada tarea
	IMPRIMIR_TEXTO mensajeBlancoTarea, 1, fondoVerde, 19, 0	
	IMPRIMIR_TEXTO mensajeBlancoTarea, 1, fondoRojo, 20, 0
	IMPRIMIR_TEXTO mensajeBlancoTarea, 1, fondoCeleste, 21, 0
	IMPRIMIR_TEXTO mensajeBlancoTarea, 1, fondoAzul, 22, 0
	IMPRIMIR_TEXTO mensajeBlancoTarea, 1, fondoFucsia, 23, 0
	
	
	;Imprimimos la ARENA
	mov edx, mensajeBlancoTarea
	IMPRIMIR_TEXTO edx, 78, fondoNegro, 19, 2	
	IMPRIMIR_TEXTO edx, 78, fondoNegro, 20, 2
	IMPRIMIR_TEXTO edx, 78, fondoNegro, 21, 2
	IMPRIMIR_TEXTO edx, 78, fondoNegro, 22, 2
	IMPRIMIR_TEXTO edx, 78, fondoNegro, 23, 2
	
	;Imprimo los numeros de la columna
	IMPRIMIR_TEXTO msg_num_cero, 1, fondo, 3, 3
	IMPRIMIR_TEXTO msg_num_uno, 1, fondo, 4, 3
	IMPRIMIR_TEXTO msg_num_dos, 1, fondo, 5, 3
	IMPRIMIR_TEXTO msg_num_tres, 1, fondo, 6, 3
	IMPRIMIR_TEXTO msg_num_cuatro, 1, fondo, 7, 3
	IMPRIMIR_TEXTO msg_num_cinco, 1, fondo, 8, 3
	IMPRIMIR_TEXTO msg_num_seis, 1, fondo, 9, 3
	IMPRIMIR_TEXTO msg_num_siete, 1, fondo, 10, 3
	IMPRIMIR_TEXTO msg_num_ocho, 1, fondo, 11, 3
	IMPRIMIR_TEXTO msg_num_nueve, 1, fondo, 12, 3
	
	;Imprimo los numeros de la fila
	IMPRIMIR_TEXTO msg_num_cero, 1, fondo, 2, 6
	IMPRIMIR_TEXTO msg_num_uno, 1, fondo, 2, 9
	IMPRIMIR_TEXTO msg_num_dos, 1, fondo, 2, 12
	IMPRIMIR_TEXTO msg_num_tres, 1, fondo, 2, 15
	IMPRIMIR_TEXTO msg_num_cuatro, 1, fondo, 2, 18
	IMPRIMIR_TEXTO msg_num_cinco, 1, fondo, 2, 21
	IMPRIMIR_TEXTO msg_num_seis, 1, fondo, 2, 24
	IMPRIMIR_TEXTO msg_num_siete, 1, fondo, 2, 27
	IMPRIMIR_TEXTO msg_num_ocho, 1, fondo, 2, 30
	IMPRIMIR_TEXTO msg_num_nueve, 1, fondo, 2, 33
	
	;imprimo cuadrados negros:
	mov ecx, 5	
	cuadradosNegros:
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 3, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 4, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 5, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 6, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 7, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 8, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 9, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 10, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 11, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 12, ecx
	
	add ecx, 1
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 3, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 4, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 5, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 6, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 7, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 8, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 9, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 10, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 11, ecx
	IMPRIMIR_TEXTO espacioBlanco, 1, fondoNegro, 12, ecx
	
	cmp ecx, 32
	jge .fin
	add ecx, 2
	jmp cuadradosNegros
	
	
	.fin
	ret
